package com.open.capacity.salary.util;

import com.open.capacity.utils.DateUtil;
import com.open.capacity.utils.StringUtil;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;

import java.math.BigDecimal;
import java.util.Date;

public class POIExcelUtil {
    /**
     * 文本取数
     *
     * @param cell
     * @return
     */
    public static String getString(Cell cell) {
        if(cell == null) {
            return "";
        }
        if (cell.getCellType().equals(CellType.NUMERIC)) {
            return String.valueOf(cell.getNumericCellValue());
        } else {
            return cell.getStringCellValue();
        }
    }

    /**
     * 数值取数
     *
     * @param cell
     * @return
     */
    public static BigDecimal getNumber(Cell cell) {
        if (cell.getCellType().equals(CellType.BLANK)) {
            return BigDecimal.ZERO;
        } else if (cell.getCellType().equals(CellType.NUMERIC)) {
            return BigDecimal.valueOf(cell.getNumericCellValue());
        } else {
            if (StringUtil.isEmpty(cell.getStringCellValue())) {
                return BigDecimal.ZERO;
            } else {
                return new BigDecimal(cell.getStringCellValue());
            }
        }
    }

    /**
     * 文本取数
     *
     * @param cell
     * @return
     */
    public static Date getDate(Cell cell) {
        return DateUtil.parseDate(cell.getStringCellValue());
    }
}
